// pages/timeline/timeline.js
import { getTimelines, deleteTimeline } from '../../api/timeline'
const app = getApp();
Page({

  /**
   * 页面的初始数据
   */
  data: {
    CustomBar: app.globalData.CustomBar,
    moveIcon: app.globalData.moveIcon,
    result: {},
    query: {
      page: 1
    },
    timelines: []
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    if (options.from === 'add') {
      // 创建成功，提示
      wx.showToast({
        title: '保存成功',
        icon: 'none'
      })
    }
    wx.showLoading({ title: '加载中', mask: true })
    this._fetchData(this.data.query).then(res => {
    }).finally(() => wx.hideLoading())
  },
  _fetchData: function (query) {
    return getTimelines(query).then(res => {
      this.setData({
        result: res.data,  // 记录分页等查询信息
        timelines: this.data.timelines.concat(res.data.results),
      })
      return res.data.results
    }).catch(() => {
      return []
    })
  },
  // 删除
  deleteTimeLineTap(res) {
    const id = res.currentTarget.dataset.id
    deleteTimeline(id).then(res => {
      this.setData({
        result: {},  // 记录分页等查询信息
        timelines: [],
      })
      this._fetchData(this.data.query).then(res => {
      }).finally(() => wx.hideLoading())
    })
  },
  // 添加生活记录
  addliferecordTap(res) {
    wx.navigateTo({
      url: `./liferecord/add?timeline=${res.currentTarget.dataset.id}`,
    })
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
    let { query, result } = this.data
    if (result.has_next) {
      query['page'] = result.next
      this.setData({ loadMoreStatus: 'loading' })
      this._fetchData(query).then(res => {
        this.setData({ loadMoreStatus: 'nomore' })
      }).catch(() => this.setData({ loadMoreStatus: 'hidding' }))
    }
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})